package com.nenude.corejava.ch13;

import java.util.Random;

import test.newfile;

/**
 * <pre>
 * 线程类开发步骤
 * 1·编写一个类，继承java.lang.Threaned类型
 * 2·重写run方法，在run方法中编写程序的功能代码
 * 3·执行时：实例化线程对象，并调用start方法启动线程
 * 
 * </pre>
 * 
 * @author admin
 *
 */
public class ThreadDemo extends Thread {

	private int count = 0;

	@Override
	public void run() {
		while (count <= 10) {
			System.out.println(getId()+": "+count++);
			try {
				//线程的等待或线程休眠，时间单位是毫秒ms
				Thread.sleep(new Random().nextInt(2000));
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		
		}
		System.out.println("子线程执行完毕");
	}

	
	public static void main(String[] args) {
		
		//1·新建线程
		ThreadDemo demo=new ThreadDemo();
		ThreadDemo demo2=new ThreadDemo();
		ThreadDemo demo3=new ThreadDemo();
		
		
		//线程的run方法可以用普通方法调用形式进行调用
		//demo.run();
		
		//2·启动线程调用start方法，线程启动后会进入线程池中等待执行；
        //3·执行线程是run方法
		//4·线程中断（线程等待）
		//5·run方法执行完毕则线程执行完毕
		demo.start();
		demo2.start();
		demo3.start();
        
	System.out.println("主线程执行完毕");
	
	}
	
	
}




